#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 第二行注释是为了告诉Python解释器，按照UTF-8编码读取源代码
' main entry '
__author__ = 'pingwu you'

#python3 内码就是unicode
#字符串内含转义字符的两种处理方法
str0="中\t国\n人\t民"
#不转义
str0 +=r'----中\t国\n人\t民'
#多行
str0 +='''
中\t国
人\t民
'''
#多行不转义
str0 +=r'''
中\t国
人\t民
'''

#字符内码的十进制整数序数 unicode
str0 +="\n ord('A')==>"+str(ord('A'))
str0 +="\n ord('中')==>"+str(ord('中'))

str0 +="\n chr(65)==>"+chr(65)
str0 +="\n chr(20013)==>"+chr(20013)

# \u 字符串就是指unicode编码对应的字符
str0 +="\n \u4e2d\u6587 "

#字符串 字节数组的转换 以及编解码 最好不要用默认编码模式，最佳实践就是明确指定编码
str0 +="\n "+("中国人民万岁".encode()).decode()
str0 +="\n "+("中国人民万岁".encode("utf-8")).decode("utf-8")
#len()函数计算的是str的字符数，如果换成bytes，len()函数就计算字节数：
str0 +="\n 中国abc 字符长度："+str(len("中国abc"))
str0 +="\n 中国abc 字符utf8编码后字节长度："+str(len("中国abc".encode("utf-8")))

#便捷的字符串格式化方式
str0 +="\n %s %.2f" %( "和乐乐啊",2 )
var11="第一个字符串"
var22=112.13434343434
str0 +=f"\n {var11}  {var22:.2f}"


def none_test(a=None):
    if(a==None):
        print("为空值")
def lower(s):
    none_test()
    from ..maths.help import power
    return str(s).lower()+"----"+str(power(3))+"---"+str0

def re_help():
    import re
    mt=re.match(r"^a\s*$","a")
    print(mt)
    sub=re.split(r'\s+', 'a b   c')
    print(sub)
    m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
    #注意到group(0)永远是原始字符串，group(1)、group(2)……表示第1、2、……个子串。
    print(len(m.groups()))
    print(m.group(0))
    print(m.group(1))
    print(m.group(2))
    recp = re.compile(r'^(\d{3})-(\d{3,8})$')
    recp.match("333")
    recp.match("ss")